The present invention generally relates to a technique for displaying in a field of image communication, particularly to a method of displaying multi-channel waveforms in embedded systems.
A medical patient monitor is typically an embedded system, which is necessary to support displaying multi-channel waveforms. In such system, physiological signals of a human body, such as ECG (electrocardiograph), SPO2 (Pulse Oxygen Saturation) and NIBP (non-invasive blood pressure) and so on, are measured by sensors and detection circuit, then physiological parameter values are obtained which will be recorded in waveform after being subjected to a calculation process, and finally displayed in real time on display terminals such as CRT (cathode-ray tube) and LCD (Liquid Crystal Display). In general, display terminals of patient monitors are required of supporting high-resolution (above 640*480) color displaying and employing display interfaces with special styles, e.g., displaying values and waveforms of various physiological parameters and text information of menu, alert and help in a plurality of colors under black background. Specially, the waveforms should be displayed dynamically by means of refreshing, scrolling and parallel dual-channel display. The refreshing refers to redrawing the display of waveform point-by-point from left to right, and automatically returning to the leftmost end from the rightmost end to continue redrawing. The scrolling refers to moving the whole waveform from right to left, and moving a new portion of the waveform in from the right end of the display region while moving an old part out of the left end. The parallel dual-channel display refers to displaying two waveforms of the left and right channels, which locate at the left and right parts of screen respectively, in parallel by means of refreshing and scrolling in a same horizontal region.
In a system using techniques for displaying, pixel array information on display screen is generally stored in a video memory in order to improve availability ratio of CPU (central processing unit) and main memory. The principle of the above technique is mainly to map the display terminal to a two-dimensional array, wherein each pixel is mapped to one element of the two-dimensional array, the value of the element is a color code of a corresponding pixel, and the y-coordinate and x-coordinate of the pixel are two subscripts in the two-dimensional array. In particulars, the pixel with a coordinate (x, y) on the display terminal is mapped to the element A (x, y) in the two-dimensional array. The video memory is used as a physical device for storing the two-dimensional array such that writing a data to the video memory via CPU corresponds to drawing a point on the display device. Data for display in the video memory may be automatically read out and displayed at appropriate positions on the display device by a display drive circuit.
Like most of embedded systems, patient monitors employ two kinds of methods to drive display device. One method is to display various character information and waveform by a general display control chip in accordance with a common graphics displaying method. In details, all of the data for display including characters and waveforms are calculated and written into the video memory by main CPU; and the data for display in the video memory are read out and transmitted to the display terminal to display a corresponding character and waveform by the general display control chip. With this method, when a waveform is scrolled, it is necessary for CPU to erase the whole waveform being displayed and overwrite all of the refreshed waveform data to the video memory so as to perform the moving of the waveform, thus leading a very heavy load of CPU. In a case of displaying multi-channel waveforms simultaneously, expenses of software in the system will be significantly increased so that the whole performance of the system is degraded. Consequently, this method has no advantage in efficiency despite of high cost.
The other method is to implement a dedicated display drive circuit by FPGA (field programmable gate array). With this method, special display mode such as scrolling of signal waveforms could be realized by hardware acceleration, thereby the load of CPU may be greatly relieved.
The cost of the system using this method is low, while the efficiency is rather higher. in the principle of the method, when a waveform in a horizontal region within a coordinate range of y1<y<y2 is to be scrolled, a mapping rule of the video memory is changed such that A ((x+xo) mod X, y) in the video memory is mapped to (x, y) on the display terminal, wherein xo represents an offset and X represents the number of horizontal pixels. As a result of the mapping, the waveform being displayed in the region is moved left for xo points in horizontal direction and the waveform which has been moved out of the display region (i.e., moved left to a point with a negative abscissa ) is retraced to the right side of the display region. In this way, the scrolling of a waveform could be performed without refreshing the whole of the two-dimensional array so long as the value of xo is changed at a certain rate by the system. For the convenience of the following description, a circuit for display in FPGA is referred as display logic.
In accordance with this method, in order to realize half-screen display of dual-channel waveforms in a region with a coordinate range of y1<y<y2, it is required of two offsets xo, each of which corresponds to each scrolling waveform. In a case that the waveforms of the two channels are arranged horizontally in the left and right screens respectively, display logic should determine the display region of each waveform so as to apply different offsets to different regions. In the following description, the behavior of applying different offsets to different regions is referred as switching of waveform parameters.
There are two aspects of defects in the above-mentioned prior art. One aspect lies in that more logic resources will be needed with the increase of waveforms. Taking an example of a resolution of 1024*768 in the technique of parallel dual-channel display, 10 bits are required for each of the offsets 1xo and rxo of the left and right waveform as well as y2 which represents the lower boundary of the display region. Thus 30 registers in FPGA are required per dual-channel waveforms to store waveform parameters. If more waveforms are desired to be displayed in each of the horizontal regions, larger capacity of registers will be required with more channels of waveforms. The other aspect lies in degradation of the performance of the chip for display with the increase of channels of waveforms, because the system usually requires higher display resolution to cope with the increase of the waveforms, which means that the highest operation frequency of the chip for display should be improved. In accordance with this method, however, MUX (multiplexer) should be used in FPGA to perform the switching of the waveform parameters. If the number of inputs of MUX is large, the switching delay will be considerably large, resulting in degradation of the highest operation frequency of the chip for display. Consequently, it is difficult for existing solution to support such a display where waveforms of more than 7 channels are scrolled simultaneously. Furthermore, there is no solution provided in the prior art for the display of multi-channel waveforms in a same region in parallel.